package com.yyh1;
/*定义一个表示学生信息的类 Student，要求如下：
（1）类 Student 的属性如下：
sNO  表示学号； sName 表示姓名； sSex 表示性别； sAge 表示
年龄；sJava：表示 Java 课程成绩。
（2）类 Student 带参数的构造方法：
在构造方法中通过形参完成对成员变量的赋值操作。
（3）类 Student 的方法成员：
getNo（）：获得学号；
getName（）：获得姓名；
getSex（）：获得性别；
getAge（）获得年龄；
getJava（）：获得 Java  课程成绩
（4）根据类 Student 的定义，创建五个该类的对象，
输出每个学生的信息，计算并输出这五个学生 Java 语言成绩的平均值，
以及计算并输出他们 Java 语言成绩的最大值和最小值。*/
public class Test4 {
    public static void main(String[] args) {
        //定义一个表示学生信息的类 Student
        Student[] s1 = {
                new Student("1001", "张三", "男", 20, 85.5),
                new Student("1002", "李四", "女", 19, 92.0),
                new Student("1003", "王五", "男", 21, 76.5),
                new Student("1004", "赵六", "女", 20, 88.0),
                new Student("1005", "钱七", "男", 22, 95.5)
        };

        // 输出每个学生的信息
        System.out.println("===== 学生信息 =====");
        for (Student s : s1) {
            s.printInfo();
        }

        // 计算平均值、最大值和最小值
        double sum = 0;
        double max = s1[0].getJava();
        double min = s1[0].getJava();

        for (Student s : s1) {
            double score = s.getJava();
            sum += score;
            if (score > max) max = score;
            if (score < min) min = score;
        }

        double average = sum /s1.length;

        // 输出统计结果
        System.out.println("\n===== Java成绩统计 =====");
        System.out.printf("平均分: %.1f\n", average);
        System.out.printf("最高分: %.1f\n", max);
        System.out.printf("最低分: %.1f\n", min);
    }
}
